package top.tagao.m01_structuralPatterns.s_12_flyweight;

/**
 * @author fu-xiao-liu
 * @Date 2022/8/7 17:45
 */
public abstract class AbstractWaitressFlyweight {
    //区分共享 与 独享 能否服务
    /*
     * 共享资源
     */
    boolean canService = true;
    String userName;
    // 用户设置
    public void setUser(String name){
        userName = name;
    }

    /**
     *  正在服务。   享元的不可共享属性留给外部进行改变的接口
     */
    abstract void service();

    /**
     *  服务完成。   享元的不可共享属性留给外部进行改变的接口
     *
     */
    abstract void end();

    /**
     * @date  共享属性
     * @return boolean
     */
    public boolean isCanService() {
        return canService;
    }
}
